/**
 * 
 */
package modelo.tests;

import junit.framework.TestCase;
import modelo.MetodosNumericos.DiferenciasCentrales;
import modelo.abstraccionesGeometricas.Punto;
import modelo.funciones.Funcion;
import modelo.funciones.FuncionCompuesta;
import modelo.funciones.Potencia;
import modelo.funciones.RaizCuadrada;
import modelo.operaciones.Composicion;
/**
 * @author Laura
 *
 */
public class ComposicionTest extends TestCase {

	private Funcion funcion1 ;
	
	/* (non-Javadoc)
	 * @see junit.framework.TestCase#setUp()
	 */
	@Override
	protected void setUp() throws Exception {
		super.setUp();
		funcion1= new FuncionCompuesta(new RaizCuadrada(),new Potencia(2),new Composicion());
		funcion1.setMetodoParaDerivar(new DiferenciasCentrales());
	}

	public void testAplicar(){ 
		double doble = this.funcion1.evaluar(3d);	
		assertTrue(doble == 3d);
	}
	
	public void testDerivar(){
		double valor= this.funcion1.calcularDerivada(new Punto(2d,0));
		boolean bandera=false;
		if (valor<1.0001 && valor>0.9999) bandera=true;
		assertTrue(bandera == true);
	}
}
